﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.UI.Bovespa.Corretagem.Communication.Bovespa.Movimento.ControleMovimentoOrdens;

namespace Sinacor.UI.Bovespa.Corretagem.Communication.Translator.DataContractToModel
{
    public class ControleMovimentoOrdens
    {
        #region MyRegion

        /// <summary>
        /// Traduz para InformacoesMovimento
        /// </summary>
        /// <param name="model">InformacoesMovimentoResponse</param>
        /// <returns>InformacoesMovimento</returns>
        public Model.InformacoesMovimento ToInformacoesMovimento(InformacoesMovimentoResponse response)
        {
            Model.InformacoesMovimento model = null;

            if (response != null)
            {
                model = new Model.InformacoesMovimento
                {
                    DataMovimento = response.DataMovimento,
                    DataVersao = response.DataVersao,
                    EstadoMovimento = this.ToEstadoMovimento(response.EstadoMovimento)
                };
            }

            return model;
        }        
        
        #endregion

        private Model.Enum.TipoMovimento ToEstadoMovimento(TipoMovimento tipoMovimento)
        {
            Model.Enum.TipoMovimento tipo = new Model.Enum.TipoMovimento();

            switch (tipoMovimento)
            {
                case TipoMovimento.Abertura:
                    tipo = Model.Enum.TipoMovimento.Aberto;
                    break;
                case TipoMovimento.Fechamento:
                    tipo = Model.Enum.TipoMovimento.Fechado;
                    break;
                case TipoMovimento.Reabertura:
                    tipo = Model.Enum.TipoMovimento.Reaberto;
                    break;
                case TipoMovimento.ProcessoFechamento:
                    tipo = Model.Enum.TipoMovimento.ProcessoFechamento;
                    break;
            }

            return tipo;
        } 
    }
}
